;:poke56,32:clr ;:run10 ;:open1,8,15,"s:happy.code ;:open2,8,2,"happy.code,p,w ;:sys36864 .goto 25 ;.opt o2 .goto 30 ;.opt oo *= $c000 chkout =$e118 ; $ffc9 clrchn =$ffcc write =$e10c ; $ffd2 setnam =$ffbd open =$ffc0 close =$ffc3 setpar =$ffba getx =$b7f1 komma =$aefd frestr =$b6a3 strres =$b475 findvar =$b08b varadr =$49 para =$61 chkin =$ffc6 get =$e124 ; 65508 stradr =34 frmevl =$ad9e tmp =247 av =249 getkoord =$b7eb xcoord =20 illquan =$b248 jmp read jmp dwrite jmp search jmp show jmp clr jmp set jmp start out15 ldx #15 jmp chkout sendcmd sta cmdstr+1 lda tr jsr numbasc stx track sta track+1 lda se jsr numbasc stx sector sta sector+1 jsr out15 ldx #0 comout lda cmdstr,x jsr write inx cpx #$d bne comout jmp clrchn cmdstr .byte "u1:13 0 " track .byte "00 " sector .byte "00 " fast .byte "m-w\x07\x1c\x01\x0f" numbasc ldx #"0" sec numb1 sbc #10 bcc numb2 inx bcs numb1 numb2 adc #"9"+1 rts opndir lda #15 tay ldx #8 jsr setpar lda #7 ldx #fast jsr setnam jsr open lda #13 tay ldx #8 jsr setpar lda #1 ldx #dadr jsr setnam jmp open dadr .byt "#" clsdir jsr clrchn lda #13 jsr close lda #15 jmp close getpar jsr getx stx tr jsr getx stx se rts blopo .byte "b-p 13 0" tr brk se brk setpu jsr out15 ldx #0 spu lda blopo,x jsr write inx cpx #8 bcc spu jmp clrchn read jsr getpar jsr opndir lda #"1" jsr sendcmd jsr setpu jsr komma jsr findvar sta varadr sty varadr+1 jsr frestr lda #254 jsr strres ldy #2 setpr lda para,y sta (varadr),y dey bpl setpr ldx #13 jsr chkin ldy #0 dirin jsr get sta (para+1),y iny cpy #254 bcc dirin jmp clsdir dwrite jsr getpar jsr opndir jsr setpu ldx #13 jsr chkout jsr komma jsr frmevl jsr frestr ldy #0 dout lda (stradr),y jsr write iny cpy #254 bcc dout jsr clrchn lda #"2" jsr sendcmd jmp clsdir name .byte "m-w" ada .byt 0,5,13 put2 .byte "m-w" .byt 0,4 len brk send .byte "m-e" .word $500 ret .byte "m-r" .word $480 .byt 4 suchprg clc bcc goto1 clc bcc noi .byt 31,29,31,30,31,30,31,31,30,31,30,31 goto1 ldx #1 stx $482 stx $480 dex stx $481 stx $483 suche lda $1c00 eor #8 sta $1c00 lda $480 cmp #18 bcc ok18 adc #0 ok18 sta 6 lda $481 sta 7 lda #128 sta 0 getrea lda 0 bmi getrea cmp #2 bcc ledx sta $481 lda #-1 sta $480 fund rts ledx ldx #0 oki stx $484 ldy #0 kay lda $400,y beq fund cmp #"?" beq ide cmp $300,x bne noi ide inx iny bne kay noi ldx $484 grez cpx #0 beq next inx bne oki next ldx $483 lda $482 cmp $506,x bcs neumon inc $482 inc $481 lda $481 cmp #18 bcc suche lda #0 sta $481 inc $480 nsuche bne suche neumon ldx #0 stx $481 inx stx $482 inc $480 inc $483 lda $483 cmp #12 bcc nsuche lda #0 sta $480 rts i0 .byte "i0" pos brk nummer brk len2 brk search jsr getx stx ledx+1 jsr getx stx grez+1 lda #15 ldx #8 tay jsr setpar lda #2 ldx #i0 jsr setnam jsr open lda #14 sta nummer ldy #0 sty ada trans sty pos jsr out15 ldx #0 trans2 lda name,x jsr write inx cpx #6 bcc trans2 ldx #13 ldy pos trans3 lda suchprg,y jsr write iny dex bne trans3 sty pos jsr clrchn clc lda ada adc #13 sta ada ldy pos dec nummer bne trans jsr komma jsr frmevl jsr frestr sta len2 tax inx stx len jsr out15 ldx #0 loop lda put2,x jsr write inx cpx #6 bcc loop ldy #0 loop2 lda (stradr),y jsr write iny cpy len2 bcc loop2 lda #0 jsr write jsr clrchn lda #0 .byt $2c start lda #3 sta send+3 jsr out15 ldx #0 star lda send,x jsr write inx cpx #5 bcc star jsr clrchn jsr out15 ldx #0 rere lda ret,x jsr write inx cpx #6 bcc rere jsr clrchn ldx #15 jsr chkin ldx #0 gege jsr get sta 2,x inx cpx #4 bcc gege jsr clrchn inc 5 lda #15 jmp close contsuch lda #3 sta send+3 bne start show ldx #4 ldy #0 sty tmp stx tmp+1 lda #1 shw sta (tmp),y iny bne shw inc tmp+1 dex bne shw lda #59 sta 53265 lda #29 sta 53272 rts clr ldx #32 ldy #0 tya sty tmp stx tmp+1 chw sta (tmp),y iny bne shw inc tmp+1 dex bne chw rts set jsr komma jsr getkoord cpx #200 bcs ill lda xcoord+1 cmp #>320 bcc ok bne ill lda xcoord cmp #<320 bcs ill ok txa lsr lsr lsr asl tay lda mult+1,y sta av+1 txa and #7 clc adc mult,y sta av lda xcoord and #$f8 adc av sta av lda av+1 adc xcoord+1 sta av+1 lda xcoord and #7 tax lda grbit,x ldy #0 ora (av),y sta (av),y rts ill jmp illquan grbit .byt $80,$40,$20,$10,8,4,2,1 mult =* .word $2000,$2140,$2280,$23c0 .word $2500,$2640,$2780,$28c0 .word $2a00,$2b40,$2c80,$2dc0 .word $2f00,$3040,$3180,$32c0 .word $3400,$3540,$3680,$37c0 .word $3900,$3a40,$3b80,$3cc0 .word $3e00